The present invention relates to a multicast communication method and apparatus in a two-way CATV network and, more particularly, to a filtering mechanism for downstream multicast packets in a bridge unit.
In a two-way CATV network, in general, several hundred to several thousand subscriber stations are connected to one center station, and at least one home terminal is connected to each subscriber station. In the two-way CATV network, the downstream links from the center station to the subscriber stations are of a broadcast type, whereas the upstream links from the subscriber stations to the center station are of a multi-access type.
The center and subscriber stations operate as router units for transferring packets of layer 3 between their input/output interfaces in a 7-layer OSI (Open System Interconnection) model or operate as bridge units for transferring packets of layer 2.
A router unit transfers multicast packets by managing group addresses of layer 3 which are to be used for transfer in units of input/output interfaces. Upon reception of a multicast packet, the router unit outputs the packet by selecting an interface to which the packet is to be output on the basis of the layer-3 group address of the destination of the input packet. If there is no interface to which the packet is to be output, the router unit discards the input packet. In addition, the router unit transmits/receives messages to/from a terminal or a neighboring router unit and manages group addresses to be used for transfer in units of interfaces.
According to the TCP (Transmission Control Protocol)/IP (Internet Protocol) protocol, for example, a router unit controls the transfer of multicast packets by transmitting/receiving IGMP (Internet Group Management Protocol) messages to/from a terminal as follows. IGMP is defined by W. Fenner, IETF Request for Comments 2236, November 1997. An outline of IGMP will be described below.
In IGMP, when a terminal starts an application and newly requests distribution of a multicast packet, the terminal transmits a Membership Report Message to a group address corresponding to the distribution request. Upon reception of this message, a router unit distributes the multicast packet of the group address designated to the terminal. In addition, the router unit periodically transmits Membership Query Messages to all multicast terminals to query continuation of the distribution of the multicast packet.
Upon reception of the Membership Query Message, the terminal internally generates a random number and starts a timer. If no Membership Report Message is received from other terminals before the timer expires, the terminal transmits the Membership Report Message to the group address corresponding to the request to continue distribution. If a Membership Report Message is received from another terminal before the timer expires, the terminal stops the timer.
The terminal internally has a flag for recognizing that another terminal is requesting distribution of a multicast packet destined to the same group address inside the subnet. Upon transmission of the Membership Report Message, the terminal turns on this flag. That is, if the flag is OFF, it indicates that at least another terminal in the subnet is requesting distribution of a multicast packet destined to the same group address.
Assume that the terminal is to stop receiving a multicast packet. In this case, if the flag is ON, the terminal transmits a Leave Group Message to the router unit and terminates the application. If the flag is OFF, the terminal terminates the application without explicitly notifying the router unit of leave from the multicast group.
In transferring a multicast packet in a general bridge unit, upon reception of the multicast packet, the bridge unit outputs it to all ports other than the input port except when the packet is statically filtered with the layer-2 group address. A conventional technique for this operation is disclosed in ISO/IEC standard 10038 xe2x80x9cInformation technology-Telecommunications and information exchange between systems-Local area networks-Media access control (MAC) bridgesxe2x80x9d, section 3.12.
A conventional technique of filtering multicast packets in a bridge unit by using multicast management messages is disclosed in U.S. Pat. No. 5,608,726.
According to U.S. Pat. No. 5,608,726, referring to FIG. 5, when a multicast management message is received, the message type is analyzed. If this message is a multicast subscription request message, the multicast transfer table is updated. According to the method shown in FIG. 6 in U.S. Pat. No. 5,608,726, upon reception of a multicast packet, a bridge unit looks up the multicast transfer table with the destination group address information of the multicast packet and transfers the multicast packet to only the ports designated by the table, thereby preventing the leakage of unnecessary multicast traffic.
When the above subscriber station operates as a bridge unit, all multicast packets on the broadcast type downstream link are transferred to the home terminal network regardless of which multicast packets, destined to specific layer-2 group addresses, the home terminals connected to the subscriber station desire to distribute. If the multicast packets occupy considerable part of data flowing through the downstream link, or the physical speed of the home terminal network that connects the subscriber station to the home terminals is lower than that of the downstream link, in particular, the home terminal network is filled with the multicast traffic on the downstream link. This increases the frequency of downstream packet loss in the subscriber station.
Assume that the center station operates as a bridge unit. In this case as well, upon reception of a multicast packet from an external network, the center station transfers the multicast packet to the downstream link regardless of the presence/absence of subscriber stations, subordinate to the center station, which desire distribution of the multicast packet. For this reason, if many multicast packets flow from an external network into the center station, or the physical speed of the downstream link is not sufficiently high with respect to the external network, the downstream link is filled with multicast traffic. This increases the frequency of downstream packet loss in the center station.
Assume that the technique disclosed in U.S. Pat. No. 5,608,726 is applied to a network in which several hundred to several thousand subscriber stations operating as bridges are present in a single subnetwork, like a CATV network. In this case, upon reception of a multicast subscription request message from a subordinate terminal, a subscriber station keeps transferring multicast packets to all home terminals in the network, regardless of whether the subordinate terminal requires continuation of the transfer of multicast packets destined to the group address designated by the subscription request message, until all the home terminals in the network stop receiving multicast packets destined to the group address.
In U.S. Pat. No. 5,608,726, a bridge analyzes a received multicast management message and then directly transfers it to a terminal or router. For this reason, even after a terminal subordinate to a given bridge leaves a multicast group, the multicast transfer table is updated with the multicast subscription request message generated by a terminal which is subordinate to another bridge and participating in the multicast group, and multicast packets are kept transferred.
It is an object of the present invention to provide a multicast communication method and apparatus in which when a center station or subscriber station operates as a bridge unit in a two-way CATV network, only multicast packets destined to the group address desired to be used for distribution by a subordinate terminal are transferred upon filtering, thereby efficiently using bands.
In order to achieve the above object, according to the present invention, there is provided a multicast communication apparatus comprising a center station or subscriber station in a two-way CATV network, the center station or subscriber station including a plurality of ports for inputting/outputting packets, means for performing layer-2 bridging between the ports in a 7-layer OSI model, a transfer control table for holding layer-2 and layer-3 group addresses for each of the ports in the 7-layer OSI model, means for converting the layer-3 group address into the layer-2 group address, means for transferring a multicast packet to a corresponding port upon reception of the multicast packet from an arbitrary one of the ports only when a layer-2 group address of a destination of the multicast packet is registered in the table corresponding to each of the ports other than the port through which the multicast packet has been received, means for analyzing the layer-3 message received from each of the ports, and extracting the message if the message is a management message indicating a subscription request for a layer-3 multicast group or subscription state query, means for, when the extracted management message is a multicast subscription request, checking whether the layer-3 group address corresponding to the subscription request has been registered in the table corresponding to the port through which the subscription request message has been received, not transferring the subscription request message to the other ports if the layer-3 group address has been registered, transferring the subscription request message to all the ports other than the port through which the message has been received if the layer-3 group address has not been registered, registering the layer-3 group address corresponding to the subscription request in the table corresponding to the port through which the subscription request message has been received, and also registering a layer-2 group address corresponding to the registered layer-3 group address if the layer-2 group address has not been registered in the table, means, when the extracted management message is a multicast subscription state query, transferring the subscription state query message to all the ports other than the port through which the message is received, acquiring layer-3 group addresses registered in the transfer control tables corresponding to all the ports other than the port through which the message is received, generating layer-3 multicast subscription request messages destined to the respective acquired layer-3 group addresses, and outputting the subscription state query message to the port through which the message is received, and means for, when a multicast subscription request message destined to a layer-3 group addresses registered in the table through the port for a predetermined period of time, deleting the corresponding layer-3 group address from the table, and, when no layer-3 group address corresponding to a layer-2 group address registered in the table is left as a result of deletion, deleting the corresponding layer-2 group address from the table.